Extension point providers
In component org.nuxeo.ecm.platform.query.api.PageProviderService
Contribution Descriptors
- Class: org.nuxeo.ecm.platform.query.core.CoreQueryPageProviderDescriptor
- Class: org.nuxeo.ecm.platform.query.core.GenericPageProviderDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="permissions_purge"> <whereClause docType="PermissionsSearch"> <fixedPart statement="SELECT ecm:uuid, dc:title, ecm:acl/*1/principal, ecm:acl/*1/creator, ecm:acl/*1/permission, ecm:acl/*1/begin, ecm:acl/*1/end, ecm:acl/*1/status FROM Document"> ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND SORTED_COLUMN IS NOT NULL </fixedPart> <predicate operator="IN" parameter="ecm:acl/*1/principal"> <field name="ace_username" schema="permissions_search"/> </predicate> <predicate operator="IN" parameter="ecm:ancestorId"> <field name="ecm_ancestorIds" schema="permissions_search"/> </predicate> </whereClause> <pageSize>20</pageSize> <sort ascending="true" column="dc:title"/> </genericPageProvider> <coreQueryPageProvider name="permissions_search_folders"> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE dc:title LIKE '?%' AND ecm:mixinType = 'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <pageSize>10</pageSize> </coreQueryPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.audit.api.AuditPageProvider" name="EVENTS_VIEW"> <whereClause docType="BasicAuditSearch"> <predicate operator="BETWEEN" parameter="log.eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.category"> <field name="eventCategory" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.principalName"> <field name="principalName" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="false" column="log.eventDate"/> <pageSize>10</pageSize> <maxPageSize>1000</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="PERMISSIONS_SEARCH"> <whereClause docType="PermissionsSearch"> <fixedPart escapeParameters="false" quoteParameters="false" statement="SELECT ecm:uuid, dc:title, ecm:acl/*1/principal, ecm:acl/*1/creator, ecm:acl/*1/permission, ecm:acl/*1/begin, ecm:acl/*1/end, ecm:acl/*1/status FROM Document"> ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND SORTED_COLUMN IS NOT NULL ? </fixedPart> <predicate operator="IN" parameter="ecm:acl/*1/principal"> <field name="ace_username" schema="permissions_search"/> </predicate> <predicate operator="IN" parameter="ecm:acl/*1/creator"> <field name="ace_creator" schema="permissions_search"/> </predicate> <predicate operator="IN" parameter="ecm:acl/*1/permission"> <field name="ace_permission" schema="permissions_search"/> </predicate> <predicate operator="<=" parameter="ecm:acl/*1/begin"> <field name="ace_begin" schema="permissions_search"/> </predicate> <predicate operator=">=" parameter="ecm:acl/*1/end"> <field name="ace_end" schema="permissions_search"/> </predicate> <predicate operator="LIKE" parameter="ecm:acl/*1/name"> <field name="ace_acl_name" schema="permissions_search"/> </predicate> <predicate operator="IN" parameter="ecm:ancestorId"> <field name="ecm_ancestorIds" schema="permissions_search"/> </predicate> </whereClause> <parameter>#{adminPermissionsActions.ACEStatusFixedPart}</parameter> <pageSize>20</pageSize> <sort ascending="true" column="dc:title"/> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.audit.api.AuditPageProvider" name="AUDIT_BROWSER"> <whereClause docType="BasicAuditSearch"> <predicate operator=">" parameter="log.id"> <field name="logId" schema="basicauditsearch"/> </predicate> <predicate operator="BETWEEN" parameter="log.eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.category"> <field name="eventCategories" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.principalName"> <field name="principalNames" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="true" column="log.eventDate"/> <sort ascending="true" column="log.id"/> <pageSize>10</pageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="CURRENT_DOC_CHILDREN"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="FOLDER_ITEM_CHILDREN"> <pattern> SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:mixinType != 'HiddenInNavigation' </pattern> <sort ascending="true" column="dc:created"/> <pageSize>1000</pageSize> <maxPageSize>1000</maxPageSize> <property name="maxResults">PAGE_SIZE</property> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="box_document_to_be_updated"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE content/data LIKE 'box:%' AND ecm:isVersion = 0 </pattern> <sort ascending="true" column="ecm:uuid"/> <pageSize>50</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="googledrive_document_to_be_updated"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE content/data LIKE 'googledrive:%' AND ecm:isVersion = 0 </pattern> <sort ascending="true" column="ecm:uuid"/> <pageSize>50</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.audit.api.AuditPageProvider" name="DOCUMENT_HISTORY_PROVIDER_OLD"> <whereClause docType="BasicAuditSearch"> <fixedPart> log.docUUID = ? </fixedPart> <predicate operator="BETWEEN" parameter="log.eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.category"> <field name="eventCategories" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.eventId"> <field name="eventId" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="true" column="log.eventDate"/> <pageSize>10</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.audit.api.AuditPageProvider" name="LATEST_AUDITED_CREATED_USERS_OR_GROUPS_PROVIDER"> <whereClause docType="BasicAuditSearch"> <fixedPart> log.eventId = 'user_created' OR log.eventId = 'group_created' </fixedPart> </whereClause> <sort ascending="false" column="log.eventDate"/> <pageSize>10</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.audit.provider.LatestCreatedUsersOrGroupsPageProvider" name="LATEST_CREATED_USERS_OR_GROUPS_PROVIDER"> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.audit.api.document.DocumentHistoryPageProvider" name="DOCUMENT_HISTORY_PROVIDER"> <whereClause docType="BasicAuditSearch"> <predicate operator="BETWEEN" parameter="log.eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.category"> <field name="eventCategory" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.category"> <field name="eventCategories" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.eventId"> <field name="eventId" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="log.principalName"> <field name="principalName" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="log.principalName"> <field name="principalNames" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="false" column="log.eventDate"/> <sort ascending="false" column="log.id"/> <pageSize>10</pageSize> <maxPageSize>1000</maxPageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.elasticsearch.audit.pageprovider.ESAuditPageProvider" name="EVENTS_VIEW"> <property name="coreSession">#{documentManager}</property> <property name="generateUIComments">false</property> <whereClause docType="BasicAuditSearch"> <predicate operator="BETWEEN" parameter="eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="category"> <field name="eventCategory" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="principalName"> <field name="principalName" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="false" column="eventDate"/> <pageSize>10</pageSize> <maxPageSize>1000</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.elasticsearch.audit.pageprovider.ESAuditPageProvider" name="DOCUMENT_HISTORY_PROVIDER_OLD"> <whereClause docType="BasicAuditSearch"> <fixedPart> { "bool" : { "must" : { "match" : { "docUUID" : { "query" : "?" } } } } } </fixedPart> <predicate operator="BETWEEN" parameter="eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="category"> <field name="eventCategories" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="principalName"> <field name="principalNames" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="true" column="id"/> <pageSize>5</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.elasticsearch.audit.pageprovider.ESDocumentHistoryPageProvider" name="DOCUMENT_HISTORY_PROVIDER"> <whereClause docType="BasicAuditSearch"> <predicate operator="BETWEEN" parameter="eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="category"> <field name="eventCategories" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="principalName"> <field name="principalNames" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="false" column="eventDate"/> <pageSize>10</pageSize> <maxPageSize>1000</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.elasticsearch.audit.pageprovider.ESAuditPageProvider" name="ADMIN_HISTORY"> <property name="coreSession"/> <property name="generateUIComments">false</property> <whereClause docType="BasicAuditSearch"> <predicate operator="BETWEEN" parameter="eventDate"> <field name="startDate" schema="basicauditsearch"/> <field name="endDate" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="category"> <field name="eventCategory" schema="basicauditsearch"/> </predicate> <predicate operator="IN" parameter="eventId"> <field name="eventIds" schema="basicauditsearch"/> </predicate> <predicate operator="=" parameter="principalName"> <field name="principalName" schema="basicauditsearch"/> </predicate> </whereClause> <sort ascending="false" column="eventDate"/> <pageSize>10</pageSize> <maxPageSize>1000</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.elasticsearch.audit.pageprovider.ESDocumentHistoryPageProvider" name="LATEST_AUDITED_CREATED_USERS_OR_GROUPS_PROVIDER"> <pattern> { "query": { "bool": { "must": [ { "term": { "category": "userGroup" } }, { "bool": { "should": [ { "term": { "eventId": "user_created" } }, { "term": { "eventId": "group_created" } } ] } } ] } } } </pattern> <sort ascending="false" column="eventDate"/> <pageSize>5</pageSize> <maxPageSize>100</maxPageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="default_collection"> <property name="maxResults">PAGE_SIZE</property> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE /*+ES: INDEX(dc:title.fulltext) OPERATOR(match_phrase_prefix) */ dc:title ILIKE '?%' AND ecm:mixinType = 'Collection' AND ecm:primaryType != 'Favorites' AND ecm:isProxy = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_collections"> <pattern escapeParameters="true" quoteParameters="true"> SELECT * FROM Document WHERE /*+ES: INDEX(dc:title.fulltext) OPERATOR(match_phrase_prefix) */ dc:title ILIKE :searchTerm AND ecm:mixinType = 'Collection' AND ecm:primaryType != 'Favorites' AND ecm:isProxy = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <parameter>#{currentUser.name}</parameter> <sort ascending="false" column="dc:modified"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="default_collection_candidate"> <property name="maxResults">PAGE_SIZE</property> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE /*+ES: INDEX(dc:title.fulltext) OPERATOR(match_phrase_prefix) */ dc:title ILIKE '?%' AND ecm:mixinType != 'SystemDocument' AND ecm:mixinType != 'NotCollectionMember' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="default_content_collection"> <pattern> SELECT * FROM Document where ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 AND collectionMember:collectionIds/* = ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="ordered_content_collection"> <pattern> SELECT collection:documentIds/* FROM Document where ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:uuid = ? </pattern> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="all_collections"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Collection' AND ecm:isProxy = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <pageSize>1000</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <!-- deprecated since 11.1 --> <!-- TreeCommentManager & PropertyCommentManager use it to provide backward compatibility on external entity API --> <coreQueryPageProvider name="GET_COMMENT_AS_EXTERNAL_ENTITY"> <pattern> SELECT * FROM Comment WHERE ecm:path STARTSWITH '/' AND externalEntity:entityId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- deprecated since 11.1 / PropertyCommentManager uses it --> <coreQueryPageProvider name="GET_COMMENTS_FOR_DOCUMENT"> <pattern> SELECT * FROM Comment WHERE comment:parentId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- deprecated since 11.1 / unused --> <coreQueryPageProvider name="GET_ANNOTATION_AS_EXTERNAL_ENTITY"> <pattern> SELECT * FROM Annotation WHERE ecm:path STARTSWITH '/' AND externalEntity:entityId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- deprecated since 11.1 / AnnotationService uses it when PropertyCommentManager is in place--> <coreQueryPageProvider name="GET_ANNOTATIONS_FOR_DOCUMENT"> <pattern> SELECT * FROM Annotation WHERE comment:parentId = ? AND annotation:xpath = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- deprecated since 11.1 / PropertyCommentManager uses it --> <coreQueryPageProvider name="GET_EXTERNAL_COMMENT_BY_COMMENT_ANCESTOR"> <pattern> SELECT * FROM Comment WHERE comment:ancestorIds = ? AND externalEntity:entityId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- used by TreeCommentManager --> <coreQueryPageProvider name="GET_COMMENTS_FOR_DOCUMENT_BY_ECM_PARENT"> <pattern> SELECT * FROM Comment WHERE ecm:parentId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- used by TreeCommentManager --> <coreQueryPageProvider name="GET_EXTERNAL_COMMENT_BY_ECM_ANCESTOR"> <pattern> SELECT * FROM Comment WHERE ecm:ancestorId = ? AND externalEntity:entityId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- used by PropertyCommentManager & TreeCommentManager --> <!-- currently not possible to do a ecm:ancestorId IN (..) --> <coreQueryPageProvider name="GET_COMMENTS_FOR_DOCUMENTS_BY_COMMENT_ANCESTOR"> <pattern> SELECT * FROM Comment WHERE comment:ancestorIds IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <!-- AnnotationService uses it when TreeCommentManager is in place--> <coreQueryPageProvider name="GET_ANNOTATIONS_FOR_DOCUMENT_BY_ECM_PARENT"> <pattern> SELECT * FROM Annotation WHERE ecm:parentId = ? AND annotation:xpath = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="GET_COMMENT_MODERATION_TASKS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:targetDocumentId = ? AND nt:actors/* IN (?) AND nt:task_variables/*/key = 'commentId' AND nt:task_variables/*/value = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="document_content"> <whereClause docType="AdvancedSearch"> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="fulltext_all" schema="advanced_search"/> </predicate> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="advanced_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:modified"> <field name="modified_min" schema="advanced_search"/> <field name="modified_max" schema="advanced_search"/> </predicate> <fixedPart> ecm:parentId = ? AND ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </fixedPart> </whereClause> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="advanced_document_content"> <trackUsage>true</trackUsage> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <whereClause docType="AdvancedContent"> <fixedPart> ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' </fixedPart> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="advanced_content"/> </predicate> <predicate operator="=" parameter="ecm:parentId"> <field name="ecm_parentId" schema="advanced_content"/> </predicate> <predicate operator="=" parameter="ecm:isTrashed"> <field name="ecm_trashed" schema="advanced_content"/> </predicate> </whereClause> <aggregates> <aggregate id="dc_last_contributor_agg" parameter="dc:lastContributor" type="terms"> <field name="dc_last_contributor_agg" schema="advanced_content"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="dc_modified_agg" parameter="dc:modified" type="date_range"> <field name="dc_modified_agg" schema="advanced_content"/> <properties> <property name="format">"dd-MM-yyyy"</property> </properties> <dateRanges> <dateRange fromDate="now-24H" key="last24h" toDate="now"/> <dateRange fromDate="now-7d" key="lastWeek" toDate="now-24H"/> <dateRange fromDate="now-1M" key="lastMonth" toDate="now-7d"/> <dateRange fromDate="now-1y" key="lastYear" toDate="now-1M"/> <dateRange key="priorToLastYear" toDate="now-1y"/> </dateRanges> </aggregate> </aggregates> <sort ascending="false" column="dc:modified"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="document_trash_content"> <whereClause docType="AdvancedSearch"> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="fulltext_all" schema="advanced_search"/> </predicate> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="advanced_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:modified"> <field name="modified_min" schema="advanced_search"/> <field name="modified_max" schema="advanced_search"/> </predicate> <fixedPart> ecm:parentId = ? AND ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 1 </fixedPart> </whereClause> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="section_content"> <whereClause docType="AdvancedSearch"> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="fulltext_all" schema="advanced_search"/> </predicate> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="advanced_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:modified"> <field name="modified_min" schema="advanced_search"/> <field name="modified_max" schema="advanced_search"/> </predicate> <fixedPart> ecm:parentId = ? AND ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </fixedPart> </whereClause> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="orderable_document_content"> <whereClause docType="AdvancedSearch"> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="fulltext_all" schema="advanced_search"/> </predicate> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="advanced_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:modified"> <field name="modified_min" schema="advanced_search"/> <field name="modified_max" schema="advanced_search"/> </predicate> <fixedPart> ecm:parentId = ? AND ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </fixedPart> </whereClause> <sort ascending="true" column="ecm:pos"/> <sortable>false</sortable> <pageSize>20</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <documentation> This contribution declares page providers used by UI components. The page provider 'tree_children' is used to list children in the tree navigation. Note the "ecm:isProxy = 0" predicate optimization that is required to simplify greatly the request performed by the tree manager when browsing on folders with a lot of files when using the Visible SQL Storage. The page provider 'default_document_suggestion' is used by default by the component performing document suggestions. </documentation> <coreQueryPageProvider name="tree_children"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isProxy = 0 AND ecm:mixinType = 'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="ecm:pos"/> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="default_document_suggestion"> <property name="maxResults">PAGE_SIZE</property> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE ecm:fulltext LIKE '?*' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance --> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="domain_documents"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:path STARTSWITH ? AND ecm:mixinType != 'Folderish' AND ecm:mixinType != 'SystemDocument' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isProxy = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="false" column="dc:modified"/> <pageSize>5</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.directory.providers.DirectoryEntryPageProvider" name="nuxeo_directory_entry_listing"> <pageSize>20</pageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="DEFAULT_CREATION_CONTAINER_LIST_PROVIDER"> <pattern> SELECT * FROM Document WHERE ecm:primaryType IN ('Workspace', 'Folder') AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="ecm:path"/> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="domains_for_publishing"> <pattern> SELECT * FROM Document WHERE ecm:primaryType = 'Domain' AND ecm:parentId = ? AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="publish_space_suggestion"> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE dc:title ILIKE '?%' AND ecm:mixinType = 'PublishSpace' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider" name="assets_search"> <whereClause docType="AssetsSearch"> <predicate operator="FULLTEXT ALL" parameter="ecm:fulltext"> <field name="ecm_fulltext" schema="assets_search"/> </predicate> <fixedPart>ecm:mixinType IN ('Picture', 'Audio', 'Video') AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:isProxy=0 </fixedPart> </whereClause> <aggregates> <aggregate id="system_primaryType_agg" parameter="ecm:primaryType" type="terms"> <field name="system_primaryType_agg" schema="assets_search"/> </aggregate> <aggregate id="system_mimetype_agg" parameter="file:content/mime-type" type="terms"> <field name="system_mimetype_agg" schema="assets_search"/> </aggregate> <aggregate id="asset_width_agg" parameter="picture:info/width" type="range"> <field name="asset_width_agg" schema="assets_search"/> <ranges> <range key="to_500_px" to="500.0"/> <range from="500.0" key="from_500_to_1500_px" to="1500.0"/> <range from="1500.0" key="from_1500_to_2000_px" to="2000.0"/> <range from="2000.0" key="from_2000_px"/> </ranges> </aggregate> <aggregate id="asset_height_agg" parameter="picture:info/height" type="range"> <field name="asset_height_agg" schema="assets_search"/> <ranges> <range key="to_500_px" to="500.0"/> <range from="500.0" key="from_500_to_1500_px" to="1500.0"/> <range from="1500.0" key="from_1500_to_2000_px" to="2000.0"/> <range from="2000.0" key="from_2000_px"/> </ranges> </aggregate> <aggregate id="color_profile_agg" parameter="picture:info/colorSpace" type="terms"> <field name="color_profile_agg" schema="assets_search"/> </aggregate> <aggregate id="color_depth_agg" parameter="picture:info/depth" type="terms"> <field name="color_depth_agg" schema="assets_search"/> </aggregate> <aggregate id="video_duration_agg" parameter="vid:info/duration" type="range"> <field name="video_duration_agg" schema="assets_search"/> <ranges> <range key="to_30_s" to="30.0"/> <range from="30.0" key="from_30_to_180_s" to="180.0"/> <range from="180.0" key="from_180_to_600_s" to="600.0"/> <range from="600.0" key="from_600_to_1800_s" to="1800.0"/> <range from="1800.0" key="from_1800_s"/> </ranges> </aggregate> </aggregates> <pageSize>20</pageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="DEFAULT_DOCUMENT_SUGGESTION"> <property name="maxResults">PAGE_SIZE</property> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE /*+ES: INDEX(dc:title.fulltext) OPERATOR(match_phrase_prefix) */ ecm:fulltext.dc:title LIKE '?' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:parentId IS NOT NULL </pattern> <pageSize>10</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENT_IDS_FOR_FACETED_TAG"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT DISTINCT ecm:uuid FROM Document WHERE nxtag:tags/*/label = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENT_IDS_FOR_TAG"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT ecm:uuid FROM Tag WHERE tag:label = ? AND ecm:isProxy = 0 </pattern> <pageSize>1</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND relation:target = ? </pattern> <pageSize>1</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FIRST_TAGGING_FOR_DOC_AND_TAG_AND_USER"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT ecm:uuid FROM Tagging WHERE relation:source = ? AND relation:target = ? AND dc:creator = ? </pattern> <pageSize>1</pageSize> </genericPageProvider> <!-- page provider that can be optimized using ES for instance --> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE relation:source = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <!-- page provider that should keep on using the VCS storage --> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_CORE"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE relation:source = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE tag:label = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <!-- page provider that can be optimized using ES for instance --> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE relation:source = ? AND dc:creator = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <!-- page provider that should keep on using the VCS storage --> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENT_AND_USER_CORE"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT tag:label FROM Tagging WHERE relation:source = ? AND dc:creator = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_DOCUMENTS_FOR_TAG_AND_USER"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT DISTINCT relation:source FROM Tagging WHERE tag:label = ? AND dc:creator = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_TO_COPY_FOR_DOCUMENT"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> TAGISTARGET: SELECT tag:label, dc:created, dc:creator, relation:target FROM Tagging WHERE relation:source = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_FACETED_TAG_SUGGESTIONS"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT nxtag:tags/*1/label FROM Document WHERE nxtag:tags/*1/label LIKE ? AND ecm:isProxy = 0 </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND ecm:isProxy = 0 </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAG_SUGGESTIONS_FOR_USER"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT DISTINCT tag:label FROM Tag WHERE tag:label LIKE ? AND ecm:isProxy = 0 </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_ALL_TAGS_FOR_USER"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE dc:creator = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE relation:source IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGS_FOR_DOCUMENTS_AND_USER"> <property name="useUnrestrictedSession">true</property> <property name="language">NXTAG</property> <pattern> COUNTSOURCE: SELECT tag:label, relation:source FROM Tagging WHERE relation:source IN ? AND dc:creator = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.query.nxql.CoreQueryAndFetchPageProvider" name="GET_TAGGED_DOCUMENTS_UNDER"> <property name="useUnrestrictedSession">true</property> <pattern> SELECT ecm:uuid FROM Document WHERE ecm:path STARTSWITH ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.task.providers.UserTaskPageProvider" name="user_tasks"> <property name="locale">#{localeSelector.localeString}</property> <pageSize>20</pageSize> <sort ascending="true" column="nt:dueDate"/> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="GET_TASKS_FOR_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:actors/* IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_TARGET_DOCUMENT"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:targetDocumentId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_TARGET_DOCUMENT_AND_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:targetDocumentId = ? AND nt:actors/* IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_TARGET_DOCUMENTS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND (nt:targetDocumentId = ? OR nt:targetDocumentsIds/* IN (?)) </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_TARGET_DOCUMENTS_AND_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND (nt:targetDocumentId = ? OR nt:targetDocumentsIds/* IN (?)) AND nt:actors/* IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_PROCESS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:processId = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_PROCESS_AND_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:processId = ? AND nt:actors/* IN ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_PROCESS_AND_NODE"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND nt:processId = ? AND nt:task_variables/*/key = 'nodeId' AND nt:task_variables/*/value = ? </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_TARGET_DOCUMENTS_AND_ACTORS_OR_DELEGATED_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND (nt:targetDocumentId = ? OR nt:targetDocumentsIds/* IN (?)) AND (nt:actors/* IN ? OR nt:delegatedActors/* IN ?) </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> <coreQueryPageProvider name="GET_TASKS_FOR_ACTORS_OR_DELEGATED_ACTORS"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'Task' AND ecm:currentLifeCycleState NOT IN ('ended', 'cancelled') AND ecm:isProxy = 0 AND (nt:actors/* IN ? OR nt:delegatedActors/* IN ?) </pattern> <pageSize>0</pageSize> <maxPageSize>0</maxPageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.UsersPageProvider" name="users_listing"> <pageSize>20</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.NuxeoPrincipalsPageProvider" name="nuxeo_principals_listing"> <pageSize>20</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.GroupsPageProvider" name="groups_listing"> <pageSize>20</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.NuxeoGroupsPageProvider" name="nuxeo_groups_listing"> <pageSize>20</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.GroupMemberUsersPageProvider" name="nuxeo_group_member_users_listing"> <pageSize>20</pageSize> </genericPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.usermanager.providers.GroupMemberGroupsPageProvider" name="nuxeo_group_member_groups_listing"> <pageSize>20</pageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="search_media_all"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE ecm:primaryType = ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>100</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="search_media_by_title"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Document WHERE ecm:primaryType = ? AND ecm:fulltext LIKE ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>100</pageSize> </coreQueryPageProvider> <genericPageProvider class="org.nuxeo.ecm.webapp.provider.ImportFolderPageProvider" name="importFolders"> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE ecm:fulltext.dc:title LIKE '?%' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:mixinType = 'Folderish' AND ecm:isTrashed = 0 AND SORTED_COLUMN IS NOT NULL </pattern> <sort ascending="true" column="dc:title"/> <pageSize>10</pageSize> </genericPageProvider> <coreQueryPageProvider name="breadcrumb_user_domains"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Domain WHERE ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>0</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="startup_domains"> <property name="maxResults">PAGE_SIZE</property> <pattern> SELECT * FROM Domain WHERE ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 AND ecm:isVersion = 0 AND ecm:isProxy = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>2</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="REST_API_SEARCH_ADAPTER"/> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="DOC_ROUTING_SEARCH_ALL_ROUTE_MODELS"> <pattern> SELECT * FROM DocumentRoute WHERE ecm:currentLifeCycleState = 'validated' AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="DOC_ROUTING_SEARCH_ROUTE_MODELS_WITH_TITLE"> <pattern> SELECT * FROM DocumentRoute WHERE ecm:currentLifeCycleState = 'validated' AND ecm:isTrashed = 0 AND dc:title LIKE ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="DOC_ROUTING_SEARCH_ALL_ROUTE_INSTANCES"> <pattern> SELECT * FROM DocumentRoute WHERE ecm:currentLifeCycleState = 'running' AND ecm:isTrashed = 0 AND dc:title LIKE ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="CURRENT_DOC_ROUTING_SEARCH_ATTACHED_DOC"> <pattern> SELECT * FROM Document WHERE ecm:mixinType != 'Folderish' AND ecm:isTrashed = 0 AND dc:title ILIKE ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="SEARCH_ROUTE_BY_ATTACHED_DOC"> <pattern> SELECT * FROM DocumentRoute WHERE (ecm:currentLifeCycleState = 'running' OR ecm:currentLifeCycleState = 'ready') AND ecm:isTrashed = 0 AND docri:participatingDocuments/* IN (?) </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> <genericPageProvider class="org.nuxeo.ecm.platform.routing.core.provider.RoutingTaskPageProvider" name="nuxeo_tasks_listing"> <pageSize>20</pageSize> </genericPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="default_section_suggestion"> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Section WHERE dc:title LIKE '?%' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance --> <pageSize>5</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="SAVED_SEARCHES_ALL"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'SavedSearch' AND ((saved:query IS NOT NULL AND saved:queryLanguage IS NOT NULL) OR saved:providerName IS NOT NULL) AND ecm:isProxy = 0 AND ecm:isVersion = 0 AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="SAVED_SEARCHES_ALL_PAGE_PROVIDER"> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'SavedSearch' AND ((saved:query IS NOT NULL AND saved:queryLanguage IS NOT NULL) OR saved:providerName IS NOT NULL) AND ecm:isProxy = 0 AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND saved:providerName = :pageProvider </pattern> <sort ascending="true" column="dc:title"/> <pageSize>50</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="SAVED_SEARCHES"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'SavedSearch' AND cvd:contentViewName IS NOT NULL AND dc:creator = ? AND ecm:isProxy = 0 AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND SORTED_COLUMN IS NOT NULL </pattern> <sort ascending="true" column="dc:title"/> </coreQueryPageProvider> <coreQueryPageProvider name="SHARED_SAVED_SEARCHES"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'SavedSearch' AND cvd:contentViewName IS NOT NULL AND dc:creator != ? AND ecm:isProxy = 0 AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND SORTED_COLUMN IS NOT NULL </pattern> <sort ascending="true" column="dc:title"/> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="default_search"> <trackUsage>true</trackUsage> <whereClause docType="DefaultSearch"> <fixedPart> ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites') AND ecm:mixinType != 'HiddenInNavigation' AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited') AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:parentId IS NOT NULL AND SORTED_COLUMN IS NOT NULL </fixedPart> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="ecm_fulltext" schema="default_search"/> </predicate> <predicate operator="IN" parameter="dc:creator"> <field name="dc_creator" schema="default_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:created"> <field name="dc_created_min" schema="default_search"/> <field name="dc_created_max" schema="default_search"/> </predicate> <predicate operator="BETWEEN" parameter="dc:modified"> <field name="dc_modified_min" schema="default_search"/> <field name="dc_modified_max" schema="default_search"/> </predicate> <predicate operator="IN" parameter="dc:nature"> <field name="dc_nature" schema="default_search"/> </predicate> <predicate operator="STARTSWITH" parameter="dc:subjects"> <field name="dc_subjects" schema="default_search"/> </predicate> <predicate operator="STARTSWITH" parameter="dc:coverage"> <field name="dc_coverage" schema="default_search"/> </predicate> <predicate operator="STARTSWITH" parameter="ecm:path"> <field name="ecm_path" schema="default_search"/> </predicate> <predicate operator="IN" parameter="ecm:tag"> <field name="ecm_tags" schema="default_search"/> </predicate> <predicate operator="IN" parameter="collectionMember:collectionIds"> <field name="ecm_collections" schema="default_search"/> </predicate> </whereClause> <aggregates> <aggregate id="dc_nature_agg" parameter="dc:nature" type="terms"> <field name="dc_nature_agg" schema="default_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="dc_subjects_agg" parameter="dc:subjects" type="terms"> <field name="dc_subjects_agg" schema="default_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="dc_coverage_agg" parameter="dc:coverage" type="terms"> <field name="dc_coverage_agg" schema="default_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms"> <field name="dc_creator_agg" schema="default_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="common_size_agg" parameter="file:content.length" type="range"> <field name="common_size_agg" schema="default_search"/> <ranges> <range key="tiny" to="102400"/> <range from="102401" key="small" to="1048576"/> <range from="1048577" key="medium" to="10485760"/> <range from="10485761" key="big" to="104857600"/> <range from="104857601" key="huge"/> </ranges> </aggregate> <aggregate id="dc_modified_agg" parameter="dc:modified" type="date_range"> <field name="dc_modified_agg" schema="default_search"/> <properties> <property name="format">"dd-MM-yyyy"</property> </properties> <dateRanges> <dateRange fromDate="now-24H" key="last24h" toDate="now"/> <dateRange fromDate="now-7d" key="lastWeek" toDate="now-24H"/> <dateRange fromDate="now-1M" key="lastMonth" toDate="now-7d"/> <dateRange fromDate="now-1y" key="lastYear" toDate="now-1M"/> <dateRange key="priorToLastYear" toDate="now-1y"/> </dateRanges> </aggregate> </aggregates> <quickFilters> <quickFilter name="noFolder"> <clause>ecm:mixinType != 'Folderish'</clause> </quickFilter> <quickFilter name="mostRecent"> <sort ascending="false" column="dc:modified"/> </quickFilter> <quickFilter name="onlyValidated"> <clause>ecm:currentLifeCycleState = 'approved'</clause> <sort ascending="false" column="dc:modified"/> </quickFilter> </quickFilters> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="default_trash_search"> <trackUsage>true</trackUsage> <whereClause docType="DefaultSearch"> <fixedPart> ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites') AND ecm:mixinType != 'HiddenInNavigation' AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited') AND ecm:isCheckedInVersion = 0 AND ecm:isTrashed = 1 AND ecm:parentId IS NOT NULL AND SORTED_COLUMN IS NOT NULL </fixedPart> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="ecm_fulltext" schema="default_search"/> </predicate> <predicate operator="STARTSWITH" parameter="ecm:path"> <field name="ecm_path" schema="default_search"/> </predicate> </whereClause> <aggregates> <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms"> <field name="dc_creator_agg" schema="default_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="common_size_agg" parameter="file:content.length" type="range"> <field name="common_size_agg" schema="default_search"/> <ranges> <range key="tiny" to="102400"/> <range from="102401" key="small" to="1048576"/> <range from="1048577" key="medium" to="10485760"/> <range from="10485761" key="big" to="104857600"/> <range from="104857601" key="huge"/> </ranges> </aggregate> </aggregates> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="simple_search"> <trackUsage>true</trackUsage> <whereClause docType="DefaultSearch"> <fixedPart> ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:parentId IS NOT NULL AND SORTED_COLUMN IS NOT NULL </fixedPart> <predicate operator="FULLTEXT" parameter="ecm:fulltext"> <field name="ecm_fulltext" schema="default_search"/> </predicate> </whereClause> <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance --> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="nxql_search"> <trackUsage>true</trackUsage> <searchDocumentType>DefaultSearch</searchDocumentType> <pattern escapeParameters="false" quoteParameters="false">?</pattern> <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance --> <pageSize>20</pageSize> </coreQueryPageProvider> <coreQueryPageProvider class="org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider" name="expired_search"> <trackUsage>true</trackUsage> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <whereClause docType="ExpiredSearch"> <fixedPart> ecm:isVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </fixedPart> <predicate operator="FULLTEXT" parameter="dc:title"> <field name="title" schema="expired_search"/> </predicate> <predicate operator="<" parameter="dc:expired"> <field name="expired_max" schema="expired_search"/> </predicate> <predicate operator=">" parameter="dc:expired"> <field name="expired_min" schema="expired_search"/> </predicate> </whereClause> <aggregates> <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms"> <field name="dc_creator_agg" schema="expired_search"/> <properties> <property name="size">10</property> </properties> </aggregate> <aggregate id="dc_expired_agg" parameter="dc:expired" type="date_histogram"> <field name="dc_expired_agg" schema="expired_search"/> <properties> <property name="interval">month</property> <property name="format">MM-yyyy</property> <property name="order">key asc</property> </properties> </aggregate> </aggregates> <sort ascending="true" column="dc:expired"/> <pageSize>20</pageSize> <quickFilters> <quickFilter name="approved"> <clause>ecm:currentLifeCycleState = 'approved'</clause> </quickFilter> </quickFilters> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="template_based"> <pattern escapeParameters="true" quoteParameters="false"> SELECT * FROM Document WHERE ecm:mixinType = 'TemplateBased' AND ecm:isTrashed = 0 AND nxts:bindings/*/templateId IN (?) AND ecm:isVersion = ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>20</pageSize> </coreQueryPageProvider> </extension>
-
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService"> <coreQueryPageProvider name="user_domains"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Domain WHERE ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 </pattern> <sort ascending="true" column="dc:title"/> <pageSize>0</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="domain_published_documents"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:path STARTSWITH ? AND ecm:mixinType != 'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:mixinType != 'SystemDocument' AND ecm:isVersion = 0 AND ecm:isProxy = 1 </pattern> <sort ascending="false" column="dc:issued"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_documents"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE dc:contributors = ? AND ecm:mixinType != 'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:mixinType != 'SystemDocument' AND ecm:isVersion = 0 AND ecm:isProxy = 0 AND ecm:isTrashed = 0 AND ecm:path STARTSWITH ? </pattern> <sort ascending="true" column="dc:modified"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_sections"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:primaryType = 'Section' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:path STARTSWITH ? </pattern> <sort ascending="true" column="dc:modified"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_sites"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE ecm:mixinType = 'WebView' AND ecm:isTrashed = 0 AND webc:isWebContainer = 1 AND ecm:path STARTSWITH ? </pattern> <sort ascending="true" column="webc:name"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_workspaces"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Workspace WHERE ecm:mixinType != 'HiddenInNavigation' AND ecm:isTrashed = 0 AND ecm:isProxy = 0 AND ecm:path STARTSWITH ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_deleted_documents"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document WHERE dc:contributors = ? AND ecm:mixinType != 'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND ecm:mixinType != 'SystemDocument' AND ecm:isVersion = 0 AND ecm:isProxy = 0 AND ecm:isTrashed = 1 </pattern> <sort ascending="true" column="dc:modified"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_favorites"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document where ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND collectionMember:collectionIds/* = ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>5</pageSize> </coreQueryPageProvider> <coreQueryPageProvider name="user_shared_documents"> <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property> <pattern> SELECT * FROM Document where ecm:mixinType != 'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isTrashed = 0 AND ecm:acl/*1/grant = 1 AND ecm:acl/*1/permission IN ('Read', 'ReadWrite', 'ReadRemove', 'Everything') AND ecm:acl/*1/principal IN ? </pattern> <sort ascending="true" column="dc:title"/> <pageSize>5</pageSize> </coreQueryPageProvider> </extension>